import pandas as pd

# 读取CSV文件，只需要读取一次
data_frame = pd.read_csv("lending.dat", sep=',', header=0, names=['uid', 'bid', 'title', 'date'])


def query_and_print(query_description, query_condition):
    query_result = data_frame[query_condition]
    print(query_description)
    print(query_result)


# 1. 查询《平凡的世界》借阅情况
query_and_print("1. 《平凡的世界》借阅情况：", data_frame['title'] == ('平凡的世界'))
# 2. 查询2011年的总体借阅情况
query_and_print("2. 2011年的总体借阅情况：", data_frame['date'].str.contains('2011', na=False))
# 3. 查询22700用户在2018年的借阅情况
query_and_print("3. 22700用户在2018年的借阅情况：", (data_frame['uid'] == 22700) & (data_frame['date'].str.contains('2018', na=False)))
# 4. 查询2012-2014年的总体借阅情况
query_and_print("4. 2012-2014年的总体借阅情况：", data_frame['date'].str.contains('2012|2013|2014', na=False))
# 5. 查询4366用户的借阅情况
query_and_print("5. 4366用户的借阅情况：", data_frame['uid'] == 4366)
# 6. 查询《人间词话》的借阅情况
query_and_print("6. 《人间词话》的借阅情况：", data_frame['title'] == '人间词话')
# 7. 查询2016年《美丽新世界》的借阅情况
query_and_print("7. 2016年《美丽新世界》的借阅情况：", (data_frame['title'] == '美丽新世界') & (data_frame['date'].str.contains('2016', na=False)))
# 8. 查询1084420用户在2016年的借阅情况
query_and_print("8. 1084420用户在2016年的借阅情况：", (data_frame['uid'] == 1084420) & (data_frame['date'].str.contains('2016', na=False)))
# 9. 查询2016、2018和2019年的总体借阅情况
query_and_print("9. 2016、2018和2019年的总体借阅情况：", data_frame['date'].str.contains('2016|2018|2019', na=False))
